<?php
defined('EXEC') or die();
//Dinamica de alteração de senha do usuário
Controller::addHead('pStrength.jquery', 'js');
if(@$_POST['edit']){
	$user = $auth->getLogin();
	$senhaAtual = $_POST['nm_senha_atual'];
	$novaSenha = $_POST['nm_nova_senha'];
	$repetirSenha = $_POST['nm_repetir_senha'];

	//Consulta utilizada na verificação do usuario logado.
	$sql_usuario = "select nm_login, nm_senha from util.tb_usuario where ci_usuario = {$user['ci_usuario']}";
	$rs = Connection::query($sql_usuario);
	$array = $rs->fetch();

	//Verificação da senha atual.
	if(md5($senhaAtual) == $array['nm_senha'] || md5(strtoupper($senhaAtual)) == $array['nm_senha']){

		//Verificação da senha repetida e update da nova senha.
		if($novaSenha == $repetirSenha){
			$update = "update util.tb_usuario set nm_senha = md5('{$novaSenha}'), fl_atualizousenha = 'S'
						where ci_usuario = {$user['ci_usuario']}";
			Connection::query($update);
			$user['fl_atualizousenha'] = 'S';
			Controller::setInfo('Senha', 'Senha atualizada com sucesso!');
			Session::close();
		}else{
			Util::info('Verifique se a nova senha foi repetida corretamente!');
		}

	}else{
		Util::info('Senha atual inválida!');
	}
}


?>
<h3>
	<i class="fa fa-key"></i> Alterar Senha
</h3>
<div class="panel panel-default">
	<div class="panel-body">

		<form method="post" id="formInsertEdit" class="form">
			<div class="form-group">
				<label class="control-label">Usuario:</label> <input type="text"
					id="nm_usuario" name="nm_usuario"
					value="<?php echo $user['nm_usuario']; ?>" class="form-control"
					size="30" disabled="disabled" />
			</div>
			<div class="form-group">
				<label class="control-label">Senha Atual:</label> <input
					type="password" id="nm_senha_atual" name="nm_senha_atual" value=""
					class="form-control " size="30" />
			</div>
			<div class="row">
				<div class="col-md-6">
					<div class="form-group">
						<label class="control-label">Nova Senha:</label> <input
							type="password" id="nm_nova_senha" name="nm_nova_senha" value=""
							class="form-control" size="30" />

						<div class="progress">
							<div
								class="progress-bar progress-bar-success progress-bar-striped"
								role="progressbar" aria-valuenow="100" aria-valuemin="0"
								aria-valuemax="100" style="width: 0%">
								<span class="pass-force"></span>
							</div>
						</div>
					</div>
				</div>
				<div class="col-md-6">
					<div class="form-group">
						<label class="control-label">Repetir Senha:</label> <input
							type="password" id="nm_repetir_senha" name="nm_repetir_senha"
							value="" class="form-control " size="30" /> <span
							class="text-danger" id="pass-tip">Digite uma senha</span>
					</div>
				</div>

			</div>
			<button id="btInsertEdit" type="button" class="btn btn-success"
				onclick="submitForm()">
				<span class="fa fa-save"></span> Alterar
			</button>
	
	</div>


	<input type="hidden" name="edit" value="1" />
	</form>
</div>
</div>
<script type="text/javascript">
var formValid = true;
var percentagem;
var errorMessage='';
var messages = [];

function addError(message){
	if(message!=undefined && messages.indexOf(message)==-1) {
		messages.push(message);
	}
}

$(document).ready(function(){
	$('#nm_nova_senha').pStrength({
	    'bind': 'keyup change',
	    'changeBackground': false,
	    'passwordValidFrom': 60, // 60%
	    'onValidatePassword': function(percentage) { },
	    'onPasswordStrengthChanged' : function(passwordStrength, percentage) {
		    percentagem = percentage; 
		    $('.pass-force').text(percentage+'%');
		    $('.progress-bar').css('width', percentage+'%');
		    if(percentage>60){
		    	$('.progress-bar').removeClass().addClass('progress-bar progress-bar-striped active progress-bar-success'); 
		    }else if(percentage>40){
		    	$('.progress-bar').removeClass().addClass('progress-bar progress-bar-striped active progress-bar-warning');
		    }else if(percentage<40){
		    	$('.progress-bar').removeClass().addClass('progress-bar progress-bar-striped active progress-bar-danger');
		    }
		}
	});
	$('#nm_nova_senha').keyup(validatePass);
	$('#nm_repetir_senha').keyup(validatePass);
});

function validatePass(){
	if($(this).val()==''){
		$('#pass-tip').text('Digite uma senha').show();
		formValid = false;
	}else if($(this).val().length<6){
		$('#pass-tip').text('Digite pelo menos 6 caracteres!').show();
		formValid = false;
	}else if($('#nm_repetir_senha').val() == $('#nm_nova_senha').val()){
		$('#pass-tip').hide();
	}else{
		$('#pass-tip').text('As senhas não estão iguais!').show();
		formValid = false;
	}
}

function submitForm(){
	if(validadeForm()) $('#formInsertEdit').submit();
}


function validadeForm(){
	messages = [];
	var nm_usuario = $("#nm_usuario").val();
	var nm_senha_atual = $("#nm_senha_atual").val();
	var nm_nova_senha = $("#nm_nova_senha").val();
	var nm_repetir_senha = $("#nm_repetir_senha").val();

	if (nm_usuario == '') {
		addError("O Campo <strong>Usuario</strong> está vazio");
		formValid = false;
	}if(nm_senha_atual == ''){
		addError("O Campo <strong>Senha Atual</strong> está vazio");
		formValid = false;
	}if(nm_nova_senha == ''){
		addError("O Campo <strong>Nova Senha</strong> está vazio");
		formValid = false;
	}if(nm_repetir_senha == ''){
		errorMessage = '';
		addError("O Campo <strong>Repetir Senha</strong> está vazio");
		formValid = false;
	}if(percentagem<60){
    	addError("A senha deve possuir uma força mínima de 60%");
	}
	if(nm_nova_senha != nm_repetir_senha){
    	addError("A senha digitada no campo <strong>Repetir Senha</strong> nao confere");
	}
	if(!formValid) {
		errorMessage = '';
		messages.forEach(function(entry) {
			errorMessage += entry+';<br/>';
		    console.log(entry);
		});
		groww("", errorMessage, "danger", "ban", 8000);
	}
	return formValid;	
	
}	
</script>
